import ReactMarkdown from 'react-markdown'; import { readdirSync, readFileSync } from 'fs'; import { join } from 'path'; // import Seperator from '../../components/articleSeperator'; import Navbar from '../../components/navbar'; // import Button from '../../components/button'; // import Image from '../../components/image'; import Chapters, { chapter } from '../../components/chapters'; interface ArticleMeta { title?: string; subtitle?: string; date?: Date; chapters?: Array; } export default function Post(props: { content: string, meta: ArticleMeta }) { return

{props.meta.title}

{props.meta.subtitle}

} function preprocessor(fileContent: string) { var fileAsArr = fileContent.split("\n"); var meta: ArticleMeta = {}; var result = fileAsArr.join("\n").trim() return { meta, result } } export function getStaticProps(props: {params: { id: string }}) { var filename = join("posts/", props.params.id + ".md") var filecontent = readFileSync(filename).toString().trim() var parsed = preprocessor(filecontent); return { props: { content: parsed.result, meta: parsed.meta, }, } } export function getStaticPaths() { var files = readdirSync("posts").filter(f => f.endsWith(".md")); return { paths: files.map((f) => { return { params: { id: f.substr(0, f.length - 3) } } }), fallback: false, } }